#include "Model_Info.h"
#include "memory.h"
#include "config.h"
Config_Def_t    model_info_handle;

/**********************
 * 功能：初始化配置
 * 参数：无
 * 返回：无
**********************/
uint8_t Init_storage(void)
{
  Memory_Init();
	return 1;
}
/**************************************
 * 功能：保存配置信息
 * 参数：
 *         config_info:配置信息
 * 返回：状态
**************************************/
uint8_t Save_ConfigInfo(GeneralConfigInfo_Def_t *config_info)
{
	 return Memory_WriteData((uint8_t *)config_info,sizeof(GeneralConfigInfo_Def_t),Config_Save_Addr);
}
/*************************************
 * 功能：读取配置信息
 * 参数：
 *         config_info:配置信息
 * 返回：状态 
 ************************************/
uint8_t Read_ConfigInfo(GeneralConfigInfo_Def_t *config_info)
{
	return Memory_ReadData((uint8_t *)config_info,sizeof(GeneralConfigInfo_Def_t),Config_Save_Addr);
}
/**************************************
 * 功能：保存模块配置信息
 * 参数：
 *         config_info:配置信息
 * 返回：状态
**************************************/
uint8_t Save_ModelConfigInfo(ModelConfig_Def_t *config_info)
{
	return Memory_WriteData((uint8_t *)config_info,sizeof(ModelConfig_Def_t),Model_Config_Save_Addr);
}
/*************************************
 * 功能：读取配置信息
 * 参数：
 *         config_info:配置信息
 * 返回：状态 
 ************************************/
uint8_t Read_ModelConfigInfo(ModelConfig_Def_t *config_info)
{
	return Memory_ReadData((uint8_t *)config_info,sizeof(ModelConfig_Def_t),Model_Config_Save_Addr);
}

uint8_t Clear_Info()
{
	return Memory_Clear();
}

/// @brief 保存配置参数
/// @param  net 配置
/// @return 
void Save_Config_info(void)
{
	model_info_handle.general_info.SN=1007;
	Clear_Info();
	Save_ConfigInfo(&model_info_handle.general_info);
}
/***************************************
 * 功能：初始化模块信息
***************************************/
void Init_Modelinfo()
{
	  GeneralConfigInfo_Def_t config;
	  ModelConfig_Def_t       model_config;
    //Init_storage();
    if(!Read_ConfigInfo(&config))              //读取配置信息
		{
			config.SN=0xAAAAAAAA;
			config.status=0;
		}
		model_config.rf_config=GetDefaultRFConfig();
	  model_info_handle.general_info=config;
	  model_info_handle.model_type=ZY_O_K011;
	  model_info_handle.model_info=model_config;
}
